package ar.edu.untref.busqueda.tests;

import org.junit.Assert;
import org.junit.Test;

import ar.edu.untref.busqueda.BuscadorSecuenciaClaudio;
import ar.edu.untref.busqueda.BusquedaBinariaClaudio;

public class BuscadorBinarioClaudioTest {

	@Test
	public void pruebaBusquedaBinaria1Test() {
		int[] vector = new int[] { 2,6,11,23,25,27,35,49,67,88,98 };
		int buscado = 27;
		int posicionControl = 5;

		BusquedaBinariaClaudio sabueso = new BusquedaBinariaClaudio();
		int posicionEncontrada = sabueso.buscar(vector, buscado);

		Assert.assertEquals("buscando el item " + buscado, posicionControl,
				posicionEncontrada);
	}

	@Test
	public void pruebaBusquedaBinaria2Test() {
		int[] vector = new int[] { 2,6,11,23,25,27,35,49,67,88,98 };
		int buscado = 98;
		int posicionControl = 10;

		BusquedaBinariaClaudio sabueso = new BusquedaBinariaClaudio();
		int posicionEncontrada = sabueso.buscar(vector, buscado);

		Assert.assertEquals("buscando el item " + buscado, posicionControl,
				posicionEncontrada);
	}
	
	@Test
	public void pruebaBusquedaBinaria6Test() {
		int[] vector = new int[] { 2,6,11,23,25,27,35,49,67,88,98 };
		int buscado = 35;
		int posicionControl = 6;

		BusquedaBinariaClaudio sabueso = new BusquedaBinariaClaudio();
		int posicionEncontrada = sabueso.buscar(vector, buscado);

		Assert.assertEquals("buscando el item " + buscado, posicionControl,
				posicionEncontrada);
	}

	@Test
	public void pruebaBusquedaBinaria3Test() {
		int[] vector = new int[] { 2,6,11,23,25,27,35,49,67,88,98 };
		int buscado = 2;
		int posicionControl = 0;

		BusquedaBinariaClaudio sabueso = new BusquedaBinariaClaudio();
		int posicionEncontrada = sabueso.buscar(vector, buscado);

		Assert.assertEquals("buscando el item " + buscado, posicionControl,
				posicionEncontrada);
	}

	@Test
	public void pruebaBusquedaBinaria4Test() {
		int[] vector = new int[] { 2,11 };
		int buscado = 11;
		int posicionControl = 1;

		BusquedaBinariaClaudio sabueso = new BusquedaBinariaClaudio();
		int posicionEncontrada = sabueso.buscar(vector, buscado);

		Assert.assertEquals("buscando el item " + buscado, posicionControl,
				posicionEncontrada);

	}
	
	@Test
	public void pruebaBusquedaBinaria5Test() {
		int[] vector = new int[] { 2,6,11,23,25,27,35,49,67,88,98 };;
		int buscado = 39;
		int posicionControl = -1;

		BusquedaBinariaClaudio sabueso = new BusquedaBinariaClaudio();
		int posicionEncontrada = sabueso.buscar(vector, buscado);

		Assert.assertEquals("buscando el item " + buscado, posicionControl,
				posicionEncontrada);

	}
}
